The disclosed embodiments relate to arranging transaction control in a device management system.
As different data processing devices, such as mobile stations, become more complex, the significance of device management becomes more pronounced. Devices require several different settings, such as settings related to Internet access points, and setting them manually by the user is arduous and difficult. To solve this problem, for instance, device management solutions have been developed so that the administrator of a company's information system or a teleoperator can set an appropriate configuration for a device. Device management generally refers to actions by which a person typically not using a device can change the configuration of the device; for instance change the settings used by the device. In addition to device-specific settings, it is also possible to transmit user-specific data, such as user profiles, logos, ringing tones, and menus with which the user can personally modify the settings of the device, or the modification takes place automatically in connection with device management.
One of the device management standards is OMA (Open Mobile Alliance) DM (Device management), which is partly based on the SyncML (Synchronization Markup Language) protocol. For instance, a personal computer (PC) can act as a device management server in a device management protocol and a mobile station as a device management client. A device management system may be an operative information system dedicated for service lifecycle management of mobile devices. Service lifecycle management is a concept that refers to management of a software-defined asset in a mobile device, especially one that somehow relates to the mobile services as end-user perceives them. Today an asset to be managed is typically configuration data of some specific service, for instance of a GPRS access point, whereas it is assumed that other required resources, for instance applications or middleware, already reside in the device. As mobile services are becoming richer, value-chains are becoming longer and needs of end-users are becoming more individual, more divergence in terms of software-defined asset will be required, even in identical type of mobile devices. This kind of divergence will increase both in terms of types of asset, for instance settings, executables, libraries, UI elements, certificates, and policies, and footprint of the asset (from a couple bytes of strings revealing the settings to several megabytes containing application-software).
Inherently, management of a service is so technical and complex that it has to be left to the service providers. For management purposes any software defined asset can be seen as a collection of deployment components that are manipulated by the device management system via service management primitives, for instance an install primitive. Typically a management task will require calling several management primitives that aim at changing the asset in the device from one “safe-state” to another. When including time-consuming deliveries of deployment components and manipulation of crucial runtime-entities related to the service, management tasks will introduce a considerable risk for availability of services. At worst case failed management activities may threaten mutual integrity of an asset in the device making it fully inoperative. To minimize downtime of services during management tasks and all related burden to the end-user, management primitives should be controlled by some kind of transaction control mechanism.
Currently the OMA device management introduces a protocol command called “Atomic”, by which multiple OMA DM commands (inside the “Atomic”) can be executed by the OMA DM client as a set or not at all, see OMA specification “SyncML Representation Protocol, Device Management Usage”, version 1.1.2, 13 Jun. 2003, 37 pages. However, the use of this command is very limited, since it requires that all OMA DM commands (for which transaction control may be arranged) are grouped into a single atomic-command. A need also exists to arrange transaction control for management of larger entities, such as manageable items of a service management system.